$(function(){
	
	//加载表格数据
	ajaxTable();	
	createSearch();//创建查询
	//初始化弹出层
	setDialog_add();
	closeDialog_add();
	setDialog_edit();
	closeDialog_edit();
	
	var p = $('#codeTypeInfoTable').datagrid('getPager'); 
	$(p).pagination({ 
		pageNumber:1,
	    pageSize: 10,//每页显示的记录条数，默认为10 
	    pageList: [5,10,15],//可以设置每页记录条数的列表 
	    beforePageText: '第',//页数文本框前显示的汉字 
	    afterPageText: '页    共 {pages} 页', 
	    displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'
	}); 

});

  function createSearch() {  
       $("<div class='datagrid-btn-separator'></div>'").appendTo(  
        ".datagrid-toolbar"); 
       $("<label>代码类型</label><input id='s_codeTypeName' name='_codeTypeName'/>").appendTo(  
       ".datagrid-toolbar");  
      
     
   }  
   
  //显示图片
var cardview = $.extend({}, $.fn.datagrid.defaults.view, {  
    renderRow: function(target, fields, frozen, rowIndex, rowData){  
        var cc = [];  
        cc.push('<td colspan=' + fields.length + ' style="padding:10px 5px;border:0;">');  
        if (!frozen){  
            cc.push('<img src="images/' + rowData.Id+ '.png" style="height:50px;float:left">');  
            cc.push('<div style="float:left;margin-left:20px;">');  
            for(var i=0; i<fields.length; i++){  
                var copts = $(target).datagrid('getColumnOption', fields[i]);  
                cc.push('<p><span class="c-label">' + copts.title + ':</span> ' + rowData[fields[i]] + '</p>');  
            }  
            cc.push('</div>');  
        }  
        cc.push('</td>');  
        return cc.join('');  
    }  
});  
/**--------------table------------------**/
/**
 * 加载表格数据
 */
function ajaxTable(){
	//加载表格
	$('#codeTypeInfoTable').datagrid({
			toolbar:[{//正上方工具栏
			text:'添加代码类型',
			iconCls:'icon-add',
			handler:function(){
				//点击工具栏运行的js方法
				setDialog_add();
			}
		},'-',{
				text:'批量删除',
				iconCls:'icon-cancel',
				handler:function(){
					batch('delete');
				} 
		}, '-',{
			  	   text:'查找',
			  	   iconCls:'icon-search',
			  	   handler:function(){
			  		  // alert("d");//
			  //search();
			reloadTable();
			  	   }
		
			    }  
		],
		loadMsg:'数据加载中,请稍后...',
		onLoadError:function(){
			alert('数据加载失败!');
		},
		queryParams:{//查询条件			
		},
		onClickRow:function(rowIndex, rowData){
			//取消选择某行后高亮
			//alert(rowData.Id);
			$('#codeTypeInfoTable').datagrid('unselectRow', rowIndex);
		},
		onLoadSuccess:function(){
			var value = $('#codeTypeInfoTable').datagrid('getData')['errorMsg'];
			if(value!=null){
				alert("错误消息:"+value);
			}
		}
	}).datagrid('acceptChanges');
}
/**
 * 设置操作列的信息
 * 参数说明
          value 这个可以不管，但是要使用后面 row 和index 这个参数是必须的
          row   当前行的数据
          index 当前行的索引  从0 开始
 */
function optFormater(descript,row,index){
	var  codeTypeId = row.codeTypeId;//代码类型ID
	var id_code =codeTypeId+",'"+row.codeTypeName+"','"+row.descript+"'";	
	var edit = '<a href="javascript:openDialog_edit('+id_code+')">编辑</a> | ';
	//alert(edit);
	var del = '<a href="#" onclick="doDel('+row.codeTypeId+')">删除</a>';
	return edit+del;
};
//刷新表格
function reloadTable(){
	  
	  var queryCodeTypes = $('#codeTypeInfoTable').datagrid('options').queryParams;  
	  //alert($("#s_codeTypeName").val());
	  //queryCodeTypes.codetypeNo=$('#s_codetypeNo').val();	
	  queryCodeTypes.codeTypeName=$('#s_codeTypeName').val();
	  $('#codeTypeInfoTable').datagrid('options').queryParams=queryCodeTypes;        
	  $("#codeTypeInfoTable").datagrid('reload'); 
	
	//$('#codeTypeInfoTable').datagrid('reload');
}

function search()
{    
	  //$('#codeTypeInfoTable').datagrid('options').pageNumber.val(1);       
	  reloadTable();

}



/**--------------添加操作弹出框------------------**/
//设置弹出框的属性
function setDialog_add(){
	$('#codeTypeInfoAdd').dialog({
		title : '添加代码类型',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : true,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : true,    	//可拖动边框大小
		onClose : function(){   //继承自panel的关闭事件
		codeTypeInfoAddReset();
		}
	});
}
//打开对话框
function openDialog_add(){
	$('#codeTypeInfoAdd').dialog('open');
}
//关闭对话框
function closeDialog_add(){
	$('#codeTypeInfoAdd').dialog('close');
}
//执行代码类型添加操作
function codeTypeInfoAdd(){
	var validateResult = true;
	//easyui 表单验证
	$('#table_codeTypeInfoAdd input').each(function () {
		if ($(this).attr('required') || $(this).attr('validType')) {
			if (!$(this).validatebox('isValid')) {
				//如果验证不通过，则返回false
				validateResult = false;
				return;
		    }
		}
    });
	if(validateResult==false){
		return;
	}
	
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		data : {
			"codeTypeName" : $("#codeTypeInfoAdd_codeTypeName").val(),
			"descript" : $("#codeTypeInfoAdd_descript").val()
			//"codeTypeID" : $("#codeTypeInfoAdd_codeTypeID").val()
		},
		url:'../../code/addcode.do',//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			var messgage = "添加成功!";
			if(data==null){//未返回任何消息表示添加成功
				codeTypeInfoAddReset();
				//刷新列表
				reloadTable();
			}else if(data.errorMsg!=null){//返回异常信息
				messgage = data.errorMsg;
			}
			$("#codeTypeInfoAdd_message").html(messgage);
		}
	});
}
//代码类型添加页面数据重置操作
function codeTypeInfoAddReset(){
	$("#codeTypeInfoAdd_message").html("");
	//$("#codeTypeInfoAdd_codeTypeID").val("");
	$("#codeTypeInfoAdd_codeTypeName").val("");
	$("#codeTypeInfoAdd_descript").val("");
}

/**--------------编辑操作弹出框------------------**/
//设置弹出框的属性
function setDialog_edit(){
	$('#codeTypeInfoEdit').dialog({
		title : '代码类型编辑',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : true,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : true    	//可拖动边框大小
	});
}
//打开对话框
function openDialog_edit(codeTypeId,codeTypeName,descript){
	codeTypeInfoEditReset(codeTypeId,codeTypeName,descript);
	$('#codeTypeInfoEdit').dialog('open');
}
//关闭对话框
function closeDialog_edit(){
	$('#codeTypeInfoEdit').dialog('close');
}
//根据代码类型id查询代码类型的信息
function codeTypeInfoEditReset(codeTypeId,codeTypeName,descript){
	$("#codeTypeInfoEdit_message").html("");
	$("#codeTypeInfoEdit_codeTypeId").val(codeTypeId);
	$("#codeTypeInfoEdit_codeTypeName").val(codeTypeName);
	$("#codeTypeInfoEdit_descript").val(descript);
}
//执行代码类型编辑操作
function codeTypeInfoEdit(){
	var validateResult=true;
	//easyui 表单验证
	$('#table_codeTypeInfoEdit input').each(function () {
		if ($(this).attr('required') || $(this).attr('validType')) {
			
			if (!$(this).validatebox('isValid')) {
				
				//如果验证不通过，则返回false		
				
				validateResult = false;
				return;
		    }
		}
    });
	if(validateResult==false){
		return;
	}
	
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		data : {
			"codeTypeId":$("#codeTypeInfoEdit_codeTypeId").val(),
			"codeTypeName" : $("#codeTypeInfoEdit_codeTypeName").val(),
			"descript" : $("#codeTypeInfoEdit_descript").val()
		},
		url: '../../code/updatecode.do',//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			var messgage = "修改成功!";
			if(data==null){//未返回任何消息表示操作成功
				//刷新列表
				reloadTable();
			}else if(data.errorMsg!=null){//返回异常信息
				messgage = data.errorMsg;
			}
			$("#codeTypeInfoEdit_message").html(messgage);
		}
	});
}

/**--------------执行删除操作------------------**/
function doDel(codeTypeId){
	$.messager.confirm('删除提示', '你确定永久删除该数据吗?', function(r){
		if (r){
			var url = "../../code/delcodetype.do?codeTypeId="+codeTypeId;
			changeStatus(url);
		}
	});
}



/**
 * 修改状态的Ajax
 * @codeType url
 * @return
 */
function changeStatus(url){
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		url:url,//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			if(data!=null){//返回异常信息
				$.messager.alert('错误提示',data.errorMsg,'error');
			}
			reloadTable();
		}
	});
}

/**
 * 批量操作
 * @return
 */
function batch(flag){
	if($('#codeTypeInfoTable').datagrid('getSelected')){
		//首先如果代码类型选择了数据，则获取选择的数据集合
		var ids = [];
		var nas=[];
		var selectedRow = $('#codeTypeInfoTable').datagrid('getSelections');
		//alert(selectedRow.length);
		for(var i=0;i<selectedRow.length;i++){
			ids.push(selectedRow[i].codeTypeId);
			nas.push(selectedRow[i].codeTypeName);
			
		}
		var codeTypeId = ids.join(',');//代码类型编号
		
			//删除操作
			$.messager.confirm('删除提示', '你确定永久删除下列代码类型吗?<br/>'+nas.join(','), function(r){
				if (r){
					var url = '../../code/delcodetype.do?codeTypeId='+codeTypeId;
					changeStatus(url);
					$("#codeTypeInfoTable").datagrid('clearSelections');
				}
			});
		
	}//end of if
}

